﻿using System;
using System.Collections.Generic;
using System.Windows.Forms;
using Solstice;
using System.Drawing;

namespace SolsticeExample
{
    static class Program
    {
        [STAThread]
        static void Main()
        {
            // RenderWindow는 3가지 형태로 정의될 수 있습니다.
            // RenderWindow r = new RenderWindow();                     // 아무런 정보 없이 정의
            RenderWindow r = new RenderWindow(640, 480);                // 크기 정보 정의
            // RenderWindow r = new RenderWindow(640, 480, 100, 100);   // 크기 및 위치 정보 정의

            // 정의에서 크기 등이 결정되지 않았을 경우, 정의된 RenderWindow에서 직접 위치와 크기를 정의할 수 있습니다.
            // r.SetPosition(100, 100);
            // r.SetResolution(640, 480);

            // SetTitle로 창의 타이틀을 결정할 수 있습니다.
            r.SetTitle("Solstice Engine Test");

            // RenderWindow를 띄웁니다.
            // Application.Run을 쓰면 프로그램이 곶아가 되어 루프를 돌 수 없게 되니 쓰지 마세요.
            r.Show();

            int i = 0;
            Random ra = new Random();
            RenderWindow.drawImageStructure dis = new RenderWindow.drawImageStructure();
            dis.image = Image.FromFile(@"..\..\temp.png");
            dis.width = dis.image.Width;
            dis.height = dis.image.Height;

            do
            {
                // 여기서 게임의 Main Loop를 돕니다.
                // 그나저나 더 이상 뭔가 어떻게 할 수 없을 것만 같이 코드가 빙빙 꼬이고 있습니다.
                // 이걸 시1발 어떻게 하죠.
                if (i < 300)
                {
                    r.AddRenderItem(dis);
                    dis.x = ra.Next(640);
                    dis.y = ra.Next(480);
                    i++;
                }
                Application.DoEvents();
            } while (r.Visible == true);

            // RenderWindow를 처분합니다.
            r.Dispose();
        }
    }
}
